import axios from 'axios'
import router from '../router';

//构建统一 axios 实例
const instance = axios.create({
    baseURL: "/api",
    timeout: 5000
});

instance.interceptors.request.use(config => {
    //1.从 localStorage 中取出 用户名 和 token
    let username = localStorage.getItem("username");
    let token = localStorage.getItem("token");
    //2.将 用户名 和 token 添加到 config 中
    config.headers.set("username", username);
    config.headers.set("token", token);
    //3.发送数据
    console.log(config);
    return config;
});

instance.interceptors.response.use((success => {
    //成功业务逻辑处理...
    return success;
}), error => {
    console.log(error);
    if (error.response == null || error.response.status == 403) {
        //跳转主页面
        router.push({ name: "Login" });
        alert("很抱歉，您没有权限，请登录！");
    }
    //将异常传递给下一个处理
    return Promise.reject(error);
});

// //暴露 instance 实例对象(这样在其他地方就可以直接使用 instance)
export default instance;
